﻿namespace Entropy.Ext
{
	[JsClass("Ext.panel.Panel", "panel")]
	public interface IPanelPanel : IAbstractPanel
    {
    }

    public interface IAbstractPanel : IContainer
    {
    }

    [JsClass("Ext.container.Container", "container")]
    public interface IContainer : IAbstractContainer
    {
    }

    [JsClass("Ext.container.AbstractContainer", null)]
    public interface IAbstractContainer : IComponent
    {
		/// <summary>
		/// Adds Component(s) to this Container.
		/// Fires the beforeadd event before adding.
		/// The Container's default config values will be applied accordingly (see defaults for details).
		/// Fires the add event after the component has been added.
		/// To inject components between existing ones, use the insert method.
		/// </summary>
		/// <param name="component"></param>
		void add(IComponent component);
    }

	[JsClass("Ext.tab.Panel", "tabpanel")]
	public interface ITabPanel : IPanelPanel
	{
		object add(ITab tab);
		
	}

	[JsClass("Ext.tab.Tab", "tab")]
	public interface ITab : IButton
	{

	}

	[JsClass("Ext.util.MixedCollection", null)]
	public interface IMixedCollection
	{
	}
}
